#pragma once


class Solution
{
public:
    //int lengthOfLongestSubstring(string s) 
    // {
    //     int n = s.size();
    //     int hash[128] = { 0 };
    //     int ret = 0;
    //     for(int left = 0 , right = 0;right < n;++right)
    //     {
    //         ++hash[s[right]];
    //         while(hash[s[right]] > 1)
    //             --hash[s[left++]];
    //         ret = max( ret , right - left + 1 );
    //     }
    //     return ret;
    // }

    int lengthOfLongestSubstring(string s)
    {
        int n = s.size();
        int left = 0, right = 0;
        int hash[128] = { 0 };
        int ret = 0;
        while (right < n)
        {
            ++hash[s[right]];
            while (hash[s[right]] > 1)
                --hash[s[left++]];
            ret = max(ret, right - left + 1);
            ++right;
        }
        return ret;
    }
};